package com.czh.springboot04.mapper;

import com.czh.springboot04.entity.Course;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CourseMapper {

    //查询所有课程
    public List<Course> selectAll();
    // 课程添加
    public int addCourse(Course course) ;
    //修改课程
    public int updateCourse(Course course);
    //根据id删除课程
    public int deleteCourse(int id);

    //根据咨询师id查询课程
    public List<Course> findCourseById(int id);
    //根据id查询课程
    List<Course> selectCourseById(int id);
    //根据课程id查询课程
    Course findCourseByCourseId(int id);
    //根据课程名称模糊查询
    List<Course> selectCourseByName(String courseName);
    //根据价格升序查询
    List<Course> selectCourseByPriceAsc();
    //根据价格降序查询
    List<Course> selectCourseByPriceDesc();
    //根据价格区间查询
    List<Course> selectCourseByPrice(@Param("min") double min,@Param("max") double max);
    //根据收藏量降序查询
    List<Course> selectCourseByCollection();
    //根据课程类型查询
    List<Course> selectCourseByType(int typeId);
    //根据课程类型并根据收藏量查询降序
    List<Course> selectCourseByTypeAndCollection(int typeId);
    //根据课程类型并根据价格查询升序查询
    List<Course> selectCourseByTypeAndPriceAsc(int typeId);
    //根据课程类型并根据价格查询降序查询
    List<Course> selectCourseByTypeAndPriceDesc(int typeId);
    //根据课程类型并根据价格区间查询
    List<Course> selectCourseByTypeAndPrice(@Param("min") double min,@Param("max") double max,@Param("typeId") int typeId);
}
